/*************************************************************************
 > File Name: monolith/interface/sql/sql_face.h
 > Author: dzhang
 > Mail: dong.zhang@ingenic.com
 > Created Time: Thu 04 Feb 2021 10:33:20 AM CST
 ************************************************************************/

#ifndef _MONOLITH_INTERFACE_SQL_SQL_FACE_H_
#define _MONOLITH_INTERFACE_SQL_SQL_FACE_H_
#pragma once
#include <iostream>
#include <vector>
#include <memory>
#include "monolith/core/macros.h"
#include "monolith/interface/sql/sql_base.h"
#include "monolith/interface/inference/common.h"
CC_NAME_SPACE_BEGIN
namespace sql {

class SQLFace: public SQLBase {
public:
    static SQLFace* get_instance();

public:
    int insert_face(std::vector<float> &face_feature, FaceInfo& face_info);
    int query_face(std::vector<float> &face_feature, float threshold,
            FaceInfo& face_info);

private:
    SQLFace();
    ~SQLFace();

    SQLFace(const SQLFace &signal);
    const SQLFace &operator=(const SQLFace &signal);
};

} // namespace sql
CC_NAME_SPACE_END

#endif //_MONOLITH_INTERFACE_SQL_SQL_FACE_H
